package com.spsoft.system.model.bo.official;

import lombok.Data;

import java.util.List;

/**
 * 调用电子发票开票平台 xml对象
 */
@Data
public class BussinessBO {

    private CUSTOMDATA CUSTOMDATA;
    private REQUEST_COMMON_FPKJ REQUEST_COMMON_FPKJ;

    @Data
    public static class CUSTOMDATA {
        private DDXXS DDXXS;

        @Data
        public static class DDXXS {
            private List<DDXX> DDXX;
        }
        @Data
        public static class DDXX {
            /**
             * 订单编号
             * TransactionFlowVO.FPQQLSH
             */
            private String DDBH;
            /**
             * 合同编号
             * TransactionFlowVO.FPQQLSH
             */
            private String HTBH;
            /**
             * 受票方（经办人）证件类型
             */
            private String GMF_SFZJLX;
            /**
             * 受票方（经办人）证件号码
             */
            private String GMF_SFZJHM;
            /**
             * 受票方（经办人）姓名
             */
            private String GMF_XM;
            /**
             * 受票方（经办人）手机号
             */
            private String GMF_SJH;
            /**
             * 受票方（经办人）电子邮箱
             */
            private String GMF_DZYX;
        }
    }

    @Data
    public static class REQUEST_COMMON_FPKJ {

        /**
         * 发票信息
         */
        private COMMON_FPKJ_FPT COMMON_FPKJ_FPT;

        /**
         * 发票明细
         */
        private COMMON_FPKJ_XMXXS COMMON_FPKJ_XMXXS;

        @Data
        public static class COMMON_FPKJ_FPT {
            /**
             * 编码表版本号
             */
            private String BMB_BBH;
            /**
             * 征税方式
             */
            private String ZSFS;
            /**
             * 开票类型
             */
            private String KPLX;
            /**
             * 销售方纳税人识别号
             */
            private String XSF_NSRSBH;
            /**
             * 销售方名称
             */
            private String XSF_MC;
            /**
             * 销售方地址、电话
             */
            private String XSF_DZDH;
            /**
             * 销售方银行账号
             */
            private String XSF_YHZH;
            /**
             * 购买方纳税人识别号
             */
            private String GMF_NSRSBH;
            /**
             * 购买方名称
             */
            private String GMF_MC;
            /**
             * 购买方地址、电话
             */
            private String GMF_DZDH;
            /**
             * 购买方银行账号
             */
            private String GMF_YHZH;
            /**
             * 开票人
             */
            private String KPR;
            /**
             * 收款人
             */
            private String SKR;
            /**
             * 复核人
             */
            private String FHR;
            /**
             * 原发票代码
             */
            private String YFP_DM;
            /**
             * 原发票号码
             */
            private String YFP_HM;
            /**
             * 价税合计
             */
            private String JSHJ;
            /**
             * 合计金额
             */
            private String HJJE;
            /**
             * 合计税额
             */
            private String HJSE;
            /**
             * 扣除额
             */
            private String KCE;
            /**
             * 备注
             */
            private String BZ;
        }

        /**
         * 发票明细
         */
        @Data
        public static class COMMON_FPKJ_XMXX {
            /**
             * 发票行性质
             */
            private String FPHXZ;
            /**
             * 商品编码
             */
            private String SPBM;
            /**
             * 自行编码
             */
            private String ZXBM;
            /**
             * 优惠政策标识
             */
            private String YHZCBS;
            /**
             * 零税率标识
             */
            private String LSLBS;
            /**
             * 增值税特殊管理
             */
            private String ZZSTSGL;
            /**
             * 项目名称
             */
            private String XMMC;
            /**
             * 规格型号
             */
            private String GGXH;
            /**
             * 单位
             */
            private String DW;
            /**
             * 项目数量
             */
            private String XMSL;
            /**
             * 项目单价
             */
            private String XMDJ;
            /**
             * 项目金额
             */
            private String XMJE;
            /**
             * 税率
             */
            private String SL;
            /**
             * 税额
             */
            private String SE;
        }

        @Data
        public static class COMMON_FPKJ_XMXXS {
            private List<COMMON_FPKJ_XMXX> COMMON_FPKJ_XMXX;
        }
    }

}
